package org.oexam.ostudy.serv;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.oexam.ostudy.facade.ManageTestsPages;
import org.oexam.ostudy.facade.TestSetPages;
import org.oexam.ostudy.facade.struct.InsertNewQuestionDetails;
import org.oexam.ostudy.facade.struct.LoggedUserDetails;

/**
 * Servlet implementation class ManageQuestions
 */
@WebServlet("/ManageQuestions")
public class ManageQuestions extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public ManageQuestions() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		LoggedUserDetails details = (LoggedUserDetails) request.getSession()
				.getAttribute("userLoginDetails");

		if (details == null) {
			response.sendRedirect("Login.jsp");
		}
		if (details.isAuthenticated() && (details.getUserType() == 1)) {

		
			String action = request.getParameter("action");

			if (action == null) {
				response.sendRedirect("ViewAllTestSets.jsp");

			} else if (action.equals("ViewAndAddQuesToTest")) {
				response.sendRedirect("AddAndViewQuesToTest.jsp?TestID="
						+ request.getParameter("TestID"));

			}
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		
		LoggedUserDetails details = (LoggedUserDetails) request.getSession()
				.getAttribute("userLoginDetails");

		if (details == null) {
			response.sendRedirect("Login.jsp");
		}
		if (details.isAuthenticated() && (details.getUserType() == 1)) {
			
		
		InsertNewQuestionDetails qdetails = new InsertNewQuestionDetails();
		qdetails.setAnswer(Integer.parseInt(request.getParameter("cans")));
		qdetails.setOption1(request.getParameter("opt1"));
		qdetails.setOption2(request.getParameter("opt2"));
		qdetails.setOption3(request.getParameter("opt3"));
		qdetails.setOption4(request.getParameter("opt4"));
		qdetails.setuserId(details.getUserID());
		qdetails.setQuestion(request.getParameter("question"));
		qdetails.setTest_id(Integer.parseInt(request.getParameter("TestID")));
		ManageTestsPages mnp = new ManageTestsPages();
		request.setAttribute("message", mnp.addQuestionToAQuestionSet(qdetails));
		
		response.sendRedirect("AddAndViewQuesToTest.jsp?TestID="
				+ request.getParameter("TestID"));
		}
	}

}
